Interactive simulation of the real, physical world has become an essential part of many computer graphics and animation applications today, including those used in education, training, health, public policy and most notably, interactive entertainment.
In the early days of the interactive entertainment industry, virtual characters were heavily simplified, crude polygonal models. The scenarios in which they participated were also simple, requiring them to perform small sets of simple actions. Recent advances in graphics hardware and software techniques, however, have allowed interactive entertainment applications to approach cinematic quality. Unprecedented levels of visual quality and complexity in turn require high fidelity animation, and modern interactive entertainment applications have begun to incorporate new techniques into their motion synthesis engines. Among them, physics-based simulation is one of the most promising options.
The current state-of-the-art in motion synthesis for interactive entertainment applications is predominantly based on kinematic techniques: the motion of all objects and characters in a virtual world is derived procedurally or from a convex set of parameterized recorded motions. Such techniques offer absolute control over the motion of the animated objects and are fairly efficient to compute. The more complex the virtual characters are, however, the larger the sets of recorded motions will be. Thus, for the most complex virtual characters, it becomes impractical to record the entire set of possible motions that their real counterparts can do.
As an alternative approach to the motion synthesis problem, physics-based simulation computes the motion of virtual objects by numerically simulating the laws of physics. Physics-based simulation provides physical realism and automated motion calculation, but it also bears greater computational cost, difficulty in object control, and potentially unstable results.
In order to provide the perception of visual continuity, gaming hardware must provide at least 30 graphical frames every second. This constraint directly impacts the physics engine, which calculates an approximation of what happens in real life most often via an iterative algorithm. Typically, a physics engine such as Open Dynamics Engine requires at least 20 iterative calculations to generate accurate and stable data. Due to the interdependency of the physics engine with other software components, however, the physics engine must calculate and deliver the results of physical interactions in the virtual world at a fraction of the minimum frame rate of 30 frames per second in order for the graphical frames to be rendered at the frame rate. With more sophisticated applications combining massive numbers of complex entities, the cost of robust physics simulation can easily exceed the capability of today's most powerful machines.
Accordingly, there exists a need for a more efficient and cost effective technique in using physics engines to render perceivably realistic simulation graphics.